Structured limited-feedback closed-loop MIMO preceding methods have been developed for efficiently transmitting data from a mobile station (MS) to a base station (BS) in the context of wireless communication between the two. Such methods do not require the complete feedback of either the preceding weight matrix W or the channel matrix H. Instead, for each pair of transmit antenna number Nt and spatial stream number Mt, a matrix codebook is constructed that is formed of a set of preceding matrices. Both the BS and MS have access to the matrix codebook. Consequently, in order to transmit feedback to the BS, the MS needs only to transmit the index to a preceding matrix contained in the matrix codebook. Such an index is typically formed as a string of bits wherein each bit assumes a binary value. The set of the matrices, or codebook, can be constructed to achieve a desired performance and feedback bandwidth trade-off.
Once the content of the codebook is fixed, the number of feedback bits that are required to construct the index to the codebook does not grow with the size of the preceding matrix W as is required when implementing existing approaches. It has been shown that methods directed to the structured preceding of codebooks can achieve near-optimal preceding MIMO performance requiring a reasonably low number of feedback bits.
Central to methods directed to structured MIMO preceding is the design of unitary matrix codebooks. Preferably, such codebooks are designed in such a way that the matrices, or codewords, forming the codebook are as evenly distributed in the Grassmannian manifold as possible. In mathematics, a Grassmannian is the space of all k-dimensional subspaces of an n-dimensional vector space V. One approaches the construction of an optimal codebook as one is better able to maximize the minimum chordal distance of the codebook. As used herein, “chordal distance” refers to the distance between matrices, or codewords, in the multidimensional space comprising the Grassmannian manifold.
While a codebook generated by the random computation and distribution of codewords within the Grassmannian manifold provides the best possible codebook in terms of minimum Chordal distance, it is not computationally practical to construct such a codebook for systems with large amounts of transmit antennas and spatial streams. To address this constraint, a block-circulant construction method, also called a Hochwald construction method, has been proposed as a systematic construction method which avoids the computational burden of a direct random search method. The Hochwald method provides near-optimal codebooks that facilitate efficient storage and retrieval of the codewords contained therein resulting from the non-computationally intensive parameterization of the codebook. Furthermore, the block-circulant distance structure also facilitates the so-called subspace-tracking method in a precoding based MIMO-OFDM. In the Hochwald design, a codebook is fully specified once the first codeword Pl and a diagonal rotation matrix Q are provided. The other codewords in the codebook are given by (Here 2L is the cardinality of the codebook and each codeword is a matrix of size Nt×Mt):Pl=QlPl, for l=2 . . . 2L,  (1)
where Q is a diagonal matrix fully parameterized by an integer vector
  u  ⁢      =    △    ⁢            [                        u          1                ,        …        ⁢                                  ,                  u                      N            t                              ]        ⁢          :      
  Q  =      [                                        e                          j              ⁢                                                2                  ⁢                                                                          ⁢                  π                                                  2                  L                                            ⁢                              u                1                                                                                                              0                                                                                      ⋰                                                                                      0                                                                                      e                          j              ⁢                                                2                  ⁢                                                                          ⁢                  π                                                  2                  L                                            ⁢                              u                                  N                  t                                                                          ]  
Furthermore, in this design, the first codeword Pl is chosen to be a Nt×Mt sub-matrix of the Nt×Nt Discrete Fourier Transform (DFT) matrix DNt whose (m,n) element is specified as
            (              D                  N          1                    )              m      ,      n        =      e          j      ⁢                        2          ⁢                                          ⁢          π                          N          t                    ⁢              (                  m          -          1                )            ⁢              (                  n          -          1                )            where 1≦m,n≦Nt. Denoting dc as the cth column of the matrix DNt, the first codeword is the collection of Mt columns parameterized by the set of column indices
      c    ⁢          =      Δ        ⁢          [                        c          1                ,        …        ⁢                                  ,                  c                      M            t                              ]        ,          ⁢      i    .    e    ,          ⁢            P      1        =                  [                              d                          c              1                                ,          …          ,                      d                          c                              N                t                                                    ]            .      With reference to Table 1 below, there is tabulated in exemplary fashion the choices of
  u  ⁢      =    Δ    ⁢                    [                              u            1                    ,          …          ⁢                                          ,                      u                          N              t                                      ]            ⁢                          ⁢      and      ⁢                          ⁢      c        ⁢          =      Δ        ⁢          [                        c          1                ,        …        ⁢                                  ,                  c                      M            t                              ]      for different transmitter antenna numbers Nt between two and four, and spatially multiplexed data stream numbers Mt, subject to the constraint that Nt>Mt. Note that the choice of 2L, the codebook size, is the result of a trade of between performance and the number of required feedback bits.
TABLE 1Nt (# of Tx Antennas)Mt (# of data streams)2L/(L) Codebook size/ (feedback bits)                              c          ⁢                      =            Δ                                                        [                                    c              1                        ,            …            ⁢                                                  ,                          c                              M                t                                              ]                                    Column                            indices                                             u          ⁢                      =            Δ                                                        [                                    u              1                        ,            …            ⁢                                                  ,                          u                              N                t                                              ]                                    Rotation                            Vector               21 8/(3)[1][1, 0]3132/(5)[1][1, 26, 28]3232/(5)[1, 2][1, 26, 28]4164/(6)[1][1, 8, 61, 45]4264/(6)[0, 1][1, 7, 52, 56]4364/(6)[0, 2, 3][1, 8, 61, 45]
Note that each column index 0<=c<=Nt−1, c=[0] indicates the first column of the DFT matrix D, c=[1] indicates the second column of the DFT matrix D, etc.
Unfortunately, codebooks formed of codewords that are generated in accordance with the Hochwald construction method are subject to various undesirable constraints. Amongst these constraints are the requirement that the energy of any two elements within a single matrix codeword be equal and the total energy of each individual codeword be equal to the total energy of every other individual codeword. While such constraints allow for a straightforward application of the Hochwald construction method, their enforcement results in a distribution of the codewords of a codebook in the Grassmannian manifold that can be improved upon.
It would therefore be preferable to derive a method for performing Hochwald construction that does not suffer from the constraints of the prior art.